Devices for storing information and data are known in the art, e.g., magnetic storage, optical storage, solid state storage. Typically information is presented to such storage devices using a known protocol or format, for example ATA (Advanced Technology Attachment).
It is known in the art to communicate information from one computer system to another computer system using Ethernet communications, a format in which information is communicated in packets.
Attempts have been made to present Ethernet information to and from storage devices. One challenge is that Ethernet format requires a first protocol format, e.g., Internet Protocol version 4 (IPv4) or Internet Protocol version 6 (IPv6), while storage devices require information in a second protocol format, e.g., ATA. If such communications could be satisfactorily implemented, numerous computer systems could access numerous storage devices over an Ethernet network. One prior art attempt to do this is a so-called Firewire system, depicted generically in FIG. 1.
One protocol may be layered upon another layer to support communication between systems, the Internet Storage Naming Service (iSNS) is one example. ISNS provides support for discovery, management, and security of block-based storage over IP network. In a sense, iSNS is similar to the Domain Name Service (DNS). ISNS is designed to be a lightweight protocol that can be deployed in ISNS servers, IP Storage switches, and target devices (e.g. disks). The service allows target devices to register their addresses and attributes. Initiators can query the ISNS servers to identify targets that they may use. ISNS RFC is a working document of the Internet Engineering Task Force (IETF).
A Firewire system provides access to an Ethernet network 10, and includes a host computer system 20, and a storage device 30. A network interface card and software are provided for the host computer system to support communication with client system(s) across the Ethernet network. A Firewire protocol supports communication between the host computer system and the storage devices. The computer system translates between the network interface and a storage device. Unfortunately in addition to requiring a computer system and software, Firewire systems have limited scalability in that only a relatively small number (e.g., 63) of storage devices may be coupled to a Firewire system. Further, Firewire systems have limited support for hot swapping storage devices. In addition, such systems require storage devices to be relatively close to the host computer system (e.g., within 35 m). Firewire systems also present numerous single points of failure in that failure of the network card, or network software, or host computer system, or computer software can cause Firewire system failure. Thus, a single point of failure can be described as the failure of a single piece of hardware or software that would causes the entire system to fail. In the prior art, the failure of the host computer system, network connection, and various other system can result in the failure of all attached data storage devices.
Fault tolerant data storage devices are more useful because a failure of one part of a system should not shutdown the entire system. Prior art describes a host computer system housing multiple storage devices with a single coupling to the Ethernet network 10. Consequently, a single failure is potentially fatal to the accessibility of all storage devices associated with the prior art computer system.
Adding or removing data storage devices typically requires the host computer system to be shut down in a specific manner, reconfigured, and restarted. During this process all of the storage devices associated with the host computer system are inaccessible to client systems. Typically, in the prior art storage devices cannot be swapped while the host computer system is operational, e.g., hot swappable.
FIG. 1 depicts a non-Firewire system prior art approach to presenting Ethernet format information to ATA-type format storage devices that is an improvement over Firewire. In FIG. 1, custom built hardware is used that may be added to a host computer system. Specifically, host computer system 20-B includes a custom Ethernet network card 40 and a storage device 30. Unfortunately the custom built hardware suffers shortcomings similar to those enumerated above for Firewire systems.
Fiber Channel technology is known in the art for transmitting data between computer devices at a data rate of up to 1 Gbps, or one billion bits per second. Fiber Channel is suited for connecting computer servers to shared storage devices and for interconnecting storage controllers and drives. Fiber Channel has begun to replace the older Small Computer System Interface (SCSI) as a faster transmission interface between servers and clustered storage devices. Fiber channel is more flexible; devices can be as far as ten kilometers (about six miles) apart if optical fiber is used as the physical medium. Optical fiber is not required for shorter distances, however, because Fiber Channel also works using coaxial cable and ordinary telephone twisted pair. Standards for Fiber Channel are specified by the Fiber Channel Physical and Signaling standard, and the ANSI X3.230-1994, which is also ISO 14165-1.
Fiber Channel offers point-to-point, switched, and loop interfaces. It is designed to interoperate with SCSI, the Internet Protocol (IP) and other protocols, but has been criticized for its lack of compatibility—primarily because (like in the early days of SCSI technology) manufacturers sometimes interpret specifications differently and vary their implementations. Some of the Firewire shortcomings are circumvented by Fiber Channel, including support for the formation a cluster of loosely-coupled disks using a token-ring network (unlike Firewire). However, token-ring networks have limited scaling capability due to the nature of the shared Fiber Channel link. In addition to scalability, Fiber Channel provides for longer network cable lengths. Unfortunately, Fiber Channel still very limiting.
Thus, there is a need for a storage system and a method for storing information accessible to a preferably large number of client systems that may be dispersed across an Ethernet network, according to an Ethernet protocol. In addition to exhibiting large scalability, such system and method should efficiently translate between Ethernet packet format and ATA or equivalent storage device format. Preferably such system should be implementable as a generic storage device whose internal architecture is transparent to client system(s) accessing information stored within the system. Stated differently, such a storage device should transparently enable storage via conventional formats such as ATA or via packet format such as the Ethernet.
The present invention provides such a storage device and method of storing.